# ①导包
import time
from time import sleep
from page.comment_page import CommentPage
from page.search_page import SousuoPage
from utils import DriverUitls, get_el_text
from page.login_page import LoginPage
import allure

class TestLogin:
    has_run = False

    # 类级别前置方法：打开浏览器
    def setup_class(self):
        # ②创建浏览器驱动对象
        self.driver = DriverUitls.get_driver()
        self.driver.maximize_window()

    # 类级别后置方法：关闭浏览器
    def teardown_class(self):
        # ⑥浏览器驱动对象退出
        DriverUitls.quit_driver()

    # 方法级别前置方法：重新打开页面
    def setup_method(self):
        # ③访问页面
        self.driver.get("https://www.ypshuo.com/")


    # 方法级别后置方法：每个用例执行完成之后，停留2S
    def teardown_method(self):
        # ⑤暂停几秒钟
        time.sleep(2)

    @allure.title("验证评论功能成功")
    @allure.severity(allure.severity_level.NORMAL
)
    # 评论功能测试
    def test01_login_pinglun(self):
        with allure.step("测试步骤一:先登录然后搜索，再点击第一本书"):
            LoginPage().home_to_login()
            LoginPage().login("2114369437@qq.com", "QQ123123")
            SousuoPage().home_to_sousuo("寻宝全世界")
            #点击搜索
            SousuoPage().home_to_dianjisousuo()
            #点击搜索到的书
            SousuoPage().home_to_dianjibook()
            handel2 = self.driver.window_handles
            self.driver.switch_to.window(handel2[1])
        with allure.step("测试步骤二:点击评论页面输入相关信息，点击按钮完成评论"):
            CommentPage().home_to_pinlun("666")
            sleep(0.25)
        allure.attach(self.driver.get_screenshot_as_png(),
                      "评论成功截图", allure.attachment_type.PNG)
        with allure.step("测试步骤三:断言"):
            msg = get_el_text(self.driver, "/html/body/div[2]", "发布成功")
            assert msg == "发布成功"
        allure.attach(self.driver.get_screenshot_as_png(),
                      "评论成功截图", allure.attachment_type.PNG)